﻿using System;
using System.Windows.Forms;

namespace uTILLIty.Outlook.FlexFileAddIn
{
	public interface IFilterableFolderList
	{
		BindingSource BindingSource { get; }
		//BindingList<CandidateFolderInfo> FolderList { get; set; }
		CandidateFolderInfo SelectedItem { get; }
		string FilterText { get; set; }

		Form ContainingForm { get; }
		bool Visible { get; }
		bool InvokeRequired { get; }
		event EventHandler<EventArgs<CandidateFolderInfo>> SelectedItemChanged;
		event EventHandler<EventArgs<CandidateFolderInfo>> MoveSelectedItems;
		event EventHandler<EventArgs<CandidateFolderInfo>> OpenFolder;
		event EventHandler FilterTextChanged;

		void SetStatusText(string text, params object[] args);
		void SetFilterTextboxFocus();
		void ResetSelectedRow();
		object Invoke(Delegate method);
	}
}